package com.raitcon.hibernate.bean;
// Generated 27-may-2014 10:01:50 by Hibernate Tools 3.2.1.GA


import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * DetalleNota generated by hbm2java
 */
@Entity
@Table(name="detalle_nota"
    ,schema="public"
)
public class DetalleNota  implements java.io.Serializable {


     private long idNotaDetalle;
     private Alumno alumno;
     private Nota nota;
     private CriterioEvaluacion codCriterioEvaluacion;
     private Capacidad capacidad;
     private BigDecimal calificacion;

    public DetalleNota() {
    }

    public DetalleNota(long idNotaDetalle, Alumno alumno, Nota nota, CriterioEvaluacion criterioEval, Capacidad capacidad, BigDecimal calificacion) {
       this.idNotaDetalle = idNotaDetalle;
       this.alumno = alumno;
       this.nota = nota;
       this.codCriterioEvaluacion = criterioEval;
       this.capacidad = capacidad;
       this.calificacion = calificacion;
    }
   
    @SequenceGenerator(allocationSize=1, initialValue=1, sequenceName="secuencia_id_detalle_nota", 
            name="secuencia_id_detalle_nota")
    @GeneratedValue(generator="secuencia_id_detalle_nota", strategy=GenerationType.SEQUENCE) 
    @Id 
     @Column(name="id_nota_detalle", unique=true, nullable=false)
    public long getIdNotaDetalle() {
        return this.idNotaDetalle;
    }
    
    public void setIdNotaDetalle(long idNotaDetalle) {
        this.idNotaDetalle = idNotaDetalle;
    }
@ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="id_alumno", nullable=false)
    public Alumno getAlumno() {
        return this.alumno;
    }
    
    public void setAlumno(Alumno alumno) {
        this.alumno = alumno;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_nota", nullable=false)
    public Nota getNota() {
        return this.nota;
    }
    
    public void setNota(Nota nota) {
        this.nota = nota;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="cod_criterio_evaluacion", nullable=false)
    public CriterioEvaluacion getCodCriterioEvaluacion() {
        return this.codCriterioEvaluacion;
    }
    
    public void setCodCriterioEvaluacion(CriterioEvaluacion codCriterioEvaluacion) {
        this.codCriterioEvaluacion = codCriterioEvaluacion;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_capacidad", nullable=false)
    public Capacidad getCapacidad() {
        return this.capacidad;
    }
    
    public void setCapacidad(Capacidad capacidad) {
        this.capacidad = capacidad;
    }
    
    @Column(name="calificacion", nullable=false, precision=131089, scale=0)
    public BigDecimal getCalificacion() {
        return this.calificacion;
    }
    
    public void setCalificacion(BigDecimal calificacion) {
        this.calificacion = calificacion;
    }




}


